/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.mocamorena.control;

import br.com.mocamorena.exception.PersistenciaException;
import br.com.mocamorena.model.Cliente;
import br.com.mocamorena.persistence.DaoFactory;
import br.com.mocamorena.persistence.DaoFactoryImpl;
import br.com.mocamorena.persistence.dao.ClienteDao;
import br.com.mocamorena.view.DisplayFilter;
import java.util.List;

/**
 *
 * @author Diego
 */
public class ControleCliente {

    private ClienteDao dao;

    public ControleCliente() {
        DaoFactory daoFactory = new DaoFactoryImpl();
        dao = daoFactory.createClienteDao();
    }

    public boolean inserir(Cliente cliente) throws PersistenciaException {
        return dao.inserir(cliente);
    }

    public boolean atualizar(Cliente cliente) throws PersistenciaException {
        return dao.atualizar(cliente);
    }

    public boolean excluir(Cliente cliente) throws PersistenciaException {
        return dao.excluir(cliente);
    }

    public List<Cliente> listarTodos(int... limits) throws PersistenciaException {
        return dao.listarTodos(limits);
    }

    public List<Cliente> listarPeloNome(String nome, DisplayFilter displayFilter) throws PersistenciaException {
        return dao.listarPeloNome(nome, displayFilter);
    }

    public List<Cliente> listarPeloCpfECnpj(String cadastroPessoa, DisplayFilter displayFilter) throws PersistenciaException {
        return dao.listarPeloCpfECnpj(cadastroPessoa, displayFilter);
    }

    public List<Cliente> listarPeloCep(String cep, DisplayFilter displayFilter) throws PersistenciaException {
        return dao.listarPeloCep(cep, displayFilter);
    }

    public void getTelefones(Cliente cliente) throws PersistenciaException {
        dao.getTelefones(cliente);
    }
}
